/**
 * BizContractVo，合同信息;合作方协议，包含协议有效期的返佣比例等，返佣比例用于计算合作方收入视图对象 biz_contract
 */
export interface BizContractVo {
  /**
   * 合同附件信息
   */
  attachments?: BizContractAttachmentVo[];
  /**
   * 自动结算项目（使用“,”分隔）
   */
  autoSettleContent?: string;
  /**
   * 是否启用自动结算
   */
  autoSettleEnabled?: string;
  /**
   * 基础分成配置列表
   */
  bonus?: BizContractBonusVo[];
  /**
   * 主键id
   */
  contractId?: number;
  /**
   * 合同号：JDHT001/ZLHT001/DFHD001
   */
  contractNo?: string;
  /**
   * 激励分成配置列表
   */
  incentives?: BizContractIncentiveVo[];
  /**
   * 结算周期:1-季度 2-半年 3-年
   */
  settlePeriodType?: string;
  /**
   * 签订日期
   */
  signTime?: string;
  /**
   * 销售负责人
   */
  signUser?: string;
  /**
   * 状态：1-待签订，2-生效，3-过期，4-作废
   */
  status?: string;
  /**
   * 生效时间
   */
  validFrom?: string;
  /**
   * 失效时间;底层使用Date.after比较，失效时间需设置为预期日期+1
   */
  validTo?: string;
  /**
   * 商家id
   */
  vendorId: number | string;
  /**
   * 酒店联系人电话
   */
  vendorPhone?: string;
  /**
   * 酒店联系人
   */
  vendorUser?: string;
  // 前端属性
  validRange: Array<string>
  [property: string]: any;
}

/**
* BizContractAttachmentVo，合同信息附件视图对象 biz_contract_attachment
*/
export interface BizContractAttachmentVo {
  /**
   * 合同id
   */
  contractId?: number;
  /**
   * 附件id
   */
  id?: number;
  /**
   * 附件名称
   */
  name?: string;
  /**
   * 对象存储主键
   */
  ossId?: number;
  /**
   * 附件类型：设计大样图、竣工图
   */
  type?: string;
  [property: string]: any;
}

/**
* BizContractBonusVo，合同基础分成规则视图对象 biz_contract_bonus
*/
export interface BizContractBonusVo {
  /**
   * 主键id
   */
  bonusId?: number;
  /**
   * 分成比例，除以100
   */
  bonusRatio?: number | string;
  /**
   * 合同id
   */
  contractId?: number;
  /**
   * 截止时间
   */
  endTo?: string;
  /**
   * 生效时间
   */
  startFrom?: string;
  range: Array<string>
  [property: string]: any;
}

/**
* BizContractIncentiveVo，合同激励分成规则视图对象 biz_contract_incentive
*/
export interface BizContractIncentiveVo {
  /**
   * 分成金额区间起
   */
  amountFloor?: number | string;
  /**
   * 分成金额区间止
   */
  amountRoof?: number | string;
  /**
   * 分成比例，除以100
   */
  bonusRatio?: number | string;
  /**
   * 合同id
   */
  contractId?: number;
  /**
   * 截止时间
   */
  endTo?: string;
  /**
   * 主键id
   */
  id?: number;
  /**
   * 生效时间
   */
  startFrom?: string;
  [property: string]: any;
}


export const defaultModel = (): BizContractVo => {
  return {
    /**
     * 合同附件信息
     */
    attachments: [],
    vendorId: '',
    /**
     * 基础分成配置列表
     */
    bonus: [],
    incentives: [],
    validRange: [],
    status: '1', // 默认未待签订状态
  }
}

export const defaulBonuModel = (): BizContractBonusVo => {
  return {
    range: [],
    bonusRatio: '',
    startFrom: '',
    endTo: ''
  }
}

export const defaulIncentiveModel = (): BizContractIncentiveVo => {
  return {
    amountRange: [],
    bonusRatio: '',
    amountFloor: '',
    amountRoof: ''
  }
}